package game.model.gameEvent.vo 
{
	import game.interfaces.IDestroyable;
	import game.interfaces.IGameEvent;
	import org.puremvc.as3.interfaces.IFacade;
	
	/**
	 * ...
	 * @author Thot
	 */
	public class GameEventVO implements IDestroyable, IGameEvent
	{
		private var _actionBody:Object;
		private var _iteration:uint;
		private var _name:String;
		private var _trigger:String;
		private var _actionName:String;
		private var _facade:IFacade;
		
		public function GameEventVO() 
		{
			_facade = null;
			_iteration = 0;
			_name = "";
			_trigger = "";
			_actionName = "";
			_actionBody = null;
		}
		
		public function checkConditions():Boolean
		{
			return true;
		}
		
		public function destroy():void
		{
			_facade = null;
			_iteration = 0;
			_name = null;
			_trigger = null;
			_actionName = null;
			_actionBody = null;
		}
		
		/* INTERFACE game.interfaces.IGameEvent */
		
		public function get facade():IFacade				{return _facade; 		}
		public function get actionBody():Object 			{return _actionBody; 	}
		public function get iteration():uint 				{return _iteration;		}
		public function get name():String 					{return _name;			}
		public function get trigger():String 				{return _trigger;		}
		public function get actionName():String 			{return _actionName;	}
		
		public function set facade(value:IFacade):void 		{_facade = value; 		}
		public function set actionBody(value:Object):void 	{_actionBody = value;	}
		public function set actionName(value:String):void 	{_actionName = value;	}
		public function set trigger(value:String):void 		{_trigger = value;		}
		public function set name(value:String):void 		{_name = value;			}		
		public function set iteration(value:uint):void 		{_iteration = value;	}
	}

}